The normal human visual system is trichromatic in nature, meaning that visual color can be described mathematically as a three-dimensional space. A number of different three-dimensional color spaces have been used to represent visual color. Most notable are the well known color spaces defined by the Commission Internationale de l'Eclairage (CIE), such as CIE XYZ, CIELAB (L*a*b*), and CIELUV (L*u*v*). In these color spaces, a point represents a color that is visually distinct from those represented by other points in that space. They are often referred to as device-independent color spaces since they can be used to represent visual color independent of what device may have been used to produce the color. Device-independent color values are generally determined by measuring the spectral content of an image sample using a spectrophotometer, and then performing a series of required calculations associated with the definition of the color space. Alternatively, device-independent color values can be measured directly with a measuring device such as a colorimeter.
Color imaging devices are used to display or print digital image content for many applications ranging from softcopy computer displays, to desktop printers for personal computers, to high-volume graphic arts printing presses. A corollary of the trichromatic nature of color vision is that the satisfactory reproduction of colors requires the use of 3 independent colorants. Most softcopy display devices make use of three additive color primaries, typically red, green, and blue (abbreviated as RGB). Most hardcopy color printing devices make use of at least three chromatic colorants, typically cyan, magenta, and yellow (abbreviated as CMY). In addition, color printing devices can use an achromatic, or black colorant (abbreviated as K). In some cases, light colorants, such as light cyan and light magenta, or additional chromatic colorants, such as red, blue, green, or orange can also be used.
For color imaging devices that use three colorants, there will generally be a unique one-to-one relationship between the device colorant control values (e.g., RGB code values), and the resulting device-independent color values (e.g., L*a*b*) produced by the device. In many applications, it will be desirable to determine what device colorant control values would be needed to produce a desired set of device-independent color values.
FIG. 1 illustrates a prior art method for producing a desired color on a three-channel RGB color imaging device. First, a forward device model 12 is formed relating the RGB device code values 10 to the resulting device-independent color values 14 in a color space such as L*a*b*. Such forward device models 12 can sometimes be determined by modeling the physics of the color imaging device, for example accounting for the phosphor colors and nonlinear response of a softcopy display system. In other cases, forward device models 12 can be determined empirically by printing patches with known RGB device code values 10, and measuring the resulting device-independent color values 14. A mathematical model can then be determined from the measured data. The mathematical model can be a parametric model, or can include a three-dimensional look-up table (LUT) storing the resulting device-independent color values 14 for a lattice of RGB device code values 10.
A build three-channel inverse device model step 16 can then be used to determine an inverse device model 18 from the forward device model 12. The inverse device model 18 can be used to determine the RGB device code values 10 necessary to produce a desired set of device-independent color values 14. Since there is generally a one-to-one relationship between the RGB device code values 10 and the device-independent color values 14, there will be a unique inverse transform for all colors within the color gamut of the color imaging device. (The term color gamut refers to the range of colors that can be produced on a given color imaging device.) In some cases, it can be possible to mathematically invert the forward device model depending on its functional form. In other cases, interpolation methods or iterative techniques can be used to determine the inverse device model. For example, see “Colorimetric calibration in electronic imaging devices using a look-up table model and interpolations” by P. Hung (Journal of Electronic Imaging, Vol. 2(1), pp. 53-61, 1993).
Inverse device models 28 are commonly used by color management systems, where they are often referred to as “output device profiles.” Often an output device profile for a particular output device is combined with a forward device model for a particular input device (commonly referred to as an “input device profile”) to form a color transform that can be used to transform the input device code values to the corresponding device code values that will produce the same device-independent color values on the output device.
FIG. 2 illustrates an analogous method for producing a desired color on a 4-channel CMYK color printing device. First, a forward device model 22 is formed relating the CMYK device code values 20 to the resulting device-independent color values 24 in a color space such as L*a*b*. A build four-channel inverse device model step 26 can then be used to determine an inverse device model 28 from the forward device model 22. The inverse device model 28 can be used to determine the CMYK device code values 20 necessary to produce a desired set of device-independent color values 24.
Although the methods shown in FIG. 1 and FIG. 2 appear to be quite similar, the problem of determining an inverse device model is actually significantly more complicated for color imaging devices using four or more colorants, such as one that uses CMYK colorants. Since the colorant control value space in a CMYK system has a higher dimension (4) than device-independent color spaces (3), there is generally no unique way to reproduce a given visual color. Typically, there will an infinite number of CMYK combinations that can be used to produce a given device-independent color. The resulting ambiguity has to be resolved by imposing additional constraints in order to determine the CMYK values that should be used to produce a desired device-independent color.
Historically, simple mathematical equations have been used to convert scanner RGB values to CMYK values for offset printing presses for use in the graphic arts industry. For example, a simple complement function can be used to determine CMY color values from input RGB color valuesC=1−R M=1−G Y=1−B. Subsequently, a K color value is produced in order to add black to the CMY overprints. In the simplest case, the K color value can be determined as a function of the minimum of the CMY color values. (For example, see U.S. Pat. No. 4,482,917.) When black is added to an overprint, the CMY color values should generally be reduced accordingly, in order to keep the color from darkening.
Various strategies have been developed in the printing industry for using more or less black in printing various colors, and for adjusting the amounts of the chromatic colorants. These techniques have been known as Under Color Removal (UCR), Grey Component Replacement (GCR), and Under Color Addition (UCA). Unfortunately, these terms have been used differently by different writers and have lost the precise meaning they once may have had. Most of these earlier methods cannot automatically preserve color fidelity to a high degree of accuracy, because the conversion of RGB to CMY and the conversion of CMY to CMYK are not based on accurate calorimetric models of the color reproduction process.
The need for determining calorimetrically accurate inverse device models for CMYK color printing devices have been addressed in U.S. Pat. No. 5,402,253 to Seki. This patent discloses a method where K is treated as an extra dimension that should be assigned a specific value by imposing an additional constraint or relation that becomes a condition imposed on an iterative search for an inverse.
In U.S. Pat. No. 5,305,119 and U.S. Pat. No. 5,528,386, Rolleston et al. similarly impose a relation between K and CMY. However, their method establishes the form of this relation prior to the colorimetric characterization. The model is defined over a three-dimensional space, and the 4-dimensional ambiguity is avoided from the beginning. Color patches are printed and measured with the imposed relation, resulting in a three dimensional model that can be inverted.
In U.S. Pat. No. 5,553,199, Spaulding et al. disclose a method for producing inverse device models that involves producing data structures that can be used to determine minimum and maximum black levels using conventional three-dimensional inverse interpolation. A K value can then be determined using a functional relationship, and another conventional three-dimensional inverse interpolation can then be used to find the CMY values.
In U.S. Pat. No. 5,857,063, Poe et al. disclose a method for controlling the color of a multi-colorant printing system that includes defining a transform from a three-dimensional parameter space to the colorant control space. The basic method that they employed is summarized in the flowchart given in FIG. 3. A color mapping function 31, referred to as S(c,m,y) in Poe et al., is defined which specifies a mapping from a three-channel parameter space with cmy parameter space code values 30 to CMYK device code values 32. The color mapping function 31 controls the usage of K relative to the usage of CMY, and is specified by a series of functional relationships with various control parameters. The color mapping function 31 can be combined with a forward device model 33 (referred to as R(C,M,Y,K) in Poe et al.) to form a composite transform 35 (referred to as T(c,m,y) in Poe et al.). The composite transform 35 can be used to transform from the cmy parameter space code values 30 to corresponding device-independent color values 34. Since the composite transform 35 has three input dimensions and three output dimensions, it can be readily inverted using a build inverse composite transform step 36 to form an inverse composite transform 37, which can be used to transform from device-independent color values 34 back to corresponding cmy parameter space code values 30.
FIG. 4 illustrates how this inverse composite transform 37 can be combined with the color mapping function 31 to form an inverse device model 38. (The same part numbers are used here as were used in FIG. 3 to refer to the identical elements.) The inverse device model 38 can be used to determine the CMYK device code values 32 that will produce a desired set of device-independent color values 34. The inverse device model 38 is the key result which is required to form a color management output profile, or a color transform from a known input device to the color printing device.
As mentioned above, the color mapping function 31 plays the important role of controlling the usage of K relative to the usage of CMY throughout the color gamut of the printer. The functional relationships disclosed by Poe et al. provide many degrees of freedom to control this relationship. However, they do not provide any mechanism for flexibly and independently controlling this relationship for different parts of color space in order to enable making tradeoffs between color gamut, noise, and ink usage differently as a function of color. Additionally, there is no way for conveniently extending this method for use with additional colorants beyond CMYK.
Several approaches have been disclosed for determining colorant control values for printing systems with extra gamut colorants, such as green, orange, red or blue. In U.S. Pat. No. 5,870,530, Balasubramanian discloses a method where a secondary colorant is nonlinearly substituted for combinations of primary colorants using an approach similar to UCR. In U.S. Pat. No. 5,892,891, Dalal et al., disclose a method where a conventional CMYK gamut is supplemented by mutually exclusive extended gamut regions that uses an extended gamut colorant and excludes a complementary one of the CMY colorants.